<!DOCTYPE html>
<html lang="zh">

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>
    
    文件概述 - DSRBLOG
    
  </title>
  

  
  
  <link href="atom.xml" rel="alternate" title="DSRBLOG" type="application/atom+xml">
  <link rel="stylesheet" href="asset/css/style.min.css">
  <link rel="stylesheet" href="asset/css/doc.css">
  <script src="asset/app.js"></script>


</head>

<body> <section class="ct-body">
	<div class="container">
		<div class="columns is-variable bd-klmn-columns is-4 is-centered">
			<div class="column is-four-fifths">
				<div class="post-body single-content">
					
					<h1 class="title">
						文件概述
					</h1>


					<div class="media">
						
						
						<div class="media-content">
							<div class="content">
								<p>
									<span class="date">2022/02/09 03:34 上午</span>
									

									

									<br />
									<span class="tran-tags">Tags:</span>&nbsp;
									
									<a class="tag is-link is-light">#C语言</a>
									

								</p>
							</div>
						</div>

					</div>
				</div>
				<article class="markdown-body single-content">
					<h2><a id="%E6%96%87%E4%BB%B6%E7%9A%84%E6%A6%82%E5%BF%B5" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>文件的概念</h2>
<ul>
<li>文件一般指储存在外部介质上数据的集合</li>
<li>操作系统是以文件为单位对数据进行管理的</li>
<li>输入输出是数据传送的过程，数据如流水一样从一处流向另一处，因此常将输入输出形象地称为<code>流 (stream)</code>，即输入输出流</li>
</ul>
<h3><a id="%E6%96%87%E4%BB%B6%E7%9A%84%E7%BB%84%E7%BB%87%E5%BD%A2%E5%BC%8F" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>文件的组织形式</h3>
<p>根据数据的组织形式，数据文件可分为ASCII文件和二进制文件</p>
<h4><a id="ascii%E6%96%87%E4%BB%B6%EF%BC%88%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%EF%BC%89" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>ASCII文件（文本文件）</h4>
<ul>
<li>每一个字节存放一个ASCII代码</li>
<li>需要将每一个字符的编码存储到相应空间当中，需要的时候再以编码的形式转化成对应字符</li>
<li>能够使用文本编辑器进行直观的编辑</li>
</ul>
<h4><a id="%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>二进制文件</h4>
<ul>
<li>把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放</li>
<li>二进制文件是内存的直接复制，速度更快，安全性更高</li>
<li>高频操作尽量使用二进制</li>
</ul>
<h4><a id="%E4%BE%8B" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>例</h4>
<p>整数10000在内存中的存储形式，以及分别按ASCII编码形式和二进制形式输出</p>
<h5><a id="%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>如下图所示:</h5>
<p><img src="media/16443488632522/16444225271499.jpg" alt="" /></p>
<h2><a id="%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%E6%8C%87%E9%92%88" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>文件类型指针</h2>
<h3><a id="%E6%96%87%E4%BB%B6%E5%9E%8B%E6%8C%87%E9%92%88%E5%8F%98%E9%87%8F" class="anchor" aria-hidden="true"><span class="octicon octicon-link"></span></a>文件型指针变量</h3>
<p><code>fp</code>是一个指向<code>FILE</code>类型结构体的指针变量，可以使<code>fp</code>指向某一个文件，从而通过该结构体变量中的文件信息访问该文件</p>
<pre class="line-numbers"><code class="language-c">FILE *fp;
</code></pre>
<ul>
<li>
<p><code>FILE</code>是一个结构类型的别名，不同的C编译系统的<code>FILE</code>类型包含的内容不完全相同，但大同小异</p>
</li>
<li>
<p>在缓冲文件系统中，每个被使用的文件都要在内存中开辟一个<code>FILE</code>类型的空间，存放文件的有关信息</p>
</li>
</ul>

				</article>
				<div class="comments-wrap">
					<div class="share-comments">
						

						

						
					</div>
				</div><!-- end comments wrap -->
			</div>
		</div><!-- end columns -->
	</div><!-- end container -->
</section>  














<script src="asset/prism.js"></script>









</body>

</html>